<?php

/**
 * This is the model class for table "tbl_documentacioningresopersona".
 *
 * The followings are the available columns in table 'tbl_documentacioningresopersona':
 * @property string $documentacioningresopersona_ingreso_periodoingreso_id
 * @property integer $documentacioningresopersona_ingreso_programaacademico_id
 * @property integer $documentacioningresopersona_persona_tipodocumento_id
 * @property string $documentacioningresopersona_persona_numerodocumento
 * @property string $documentacioningresopersona_documentacioningreso_id
 * @property integer $documentacioningresopersona_entrego
 * @property integer $documentacioningresopersona_entrasmite
 * @property integer $documentacioningresopersona_noautentificado
 * @property string $documentacioningresopersona_fechahabilitacion
 * @property string $documentacioningresopersona_observacion
 * @property string $documentacioningresopersona_creado
 * @property string $documentacioningresopersona_creado_usuario_id
 * @property string $documentacioningresopersona_modificado
 * @property string $documentacioningresopersona_modificado_usuario_id
 * @property integer $documentacioningresopersona_estado_id
 */
class DocumentacionIngresoPersona extends MyCActiveRecord
{
	/**
	 * Returns the static model of the specified AR class.
	 * @param string $className active record class name.
	 * @return DocumentacionIngresoPersona the static model class
	 */
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}

	/**
	 * @return string the associated database table name
	 */
	public function tableName()
	{
		return 'tbl_documentacioningresopersona';
	}

	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules()
	{
		// NOTE: you should only define rules for those attributes that
		// will receive user inputs.
		return array(
			array(
					'documentacioningresopersona_ingreso_periodoingreso_id, 
					documentacioningresopersona_ingreso_programaacademico_id, 
					documentacioningresopersona_persona_tipodocumento_id, 
					documentacioningresopersona_persona_numerodocumento, 
					documentacioningresopersona_documentacioningreso_id, 
					documentacioningresopersona_estado_id', 'required'),
			array('documentacioningresopersona_ingreso_programaacademico_id, documentacioningresopersona_persona_tipodocumento_id, documentacioningresopersona_entrego, documentacioningresopersona_entrasmite, documentacioningresopersona_noautentificado, documentacioningresopersona_estado_id', 'numerical', 'integerOnly'=>true),
			array('documentacioningresopersona_ingreso_periodoingreso_id', 'length', 'max'=>6),
			array('documentacioningresopersona_persona_numerodocumento', 'length', 'max'=>50),
			array('documentacioningresopersona_documentacioningreso_id, documentacioningresopersona_creado_usuario_id, documentacioningresopersona_modificado_usuario_id', 'length', 'max'=>20),
			array('documentacioningresopersona_observacion', 'length', 'max'=>100),
			array('documentacioningresopersona_fechahabilitacion', 'validarSeleccion','on'=>'inscripcion'),
			// The following rule is used by search().
			// Please remove those attributes that should not be searched.
			array('documentacioningresopersona_ingreso_periodoingreso_id, documentacioningresopersona_ingreso_programaacademico_id, documentacioningresopersona_persona_tipodocumento_id, documentacioningresopersona_persona_numerodocumento, documentacioningresopersona_documentacioningreso_id, documentacioningresopersona_entrego, documentacioningresopersona_entrasmite, documentacioningresopersona_noautentificado, documentacioningresopersona_fechahabilitacion, documentacioningresopersona_observacion, documentacioningresopersona_creado, documentacioningresopersona_creado_usuario_id, documentacioningresopersona_modificado, documentacioningresopersona_modificado_usuario_id, documentacioningresopersona_estado_id', 'safe', 'on'=>'search'),
		);
	}
	
	
	public function validarSeleccion()
	{
		
	}
	
	
	
	
	
	

	/**
	 * @return array relational rules.
	 */
	public function relations()
	{
		// NOTE: you may need to adjust the relation name and the related
		// class name for the relations automatically generated below.
		return array(
			'documentacion' => array(self::BELONGS_TO, 'DocumentacionIngreso', 'documentacioningresopersona_documentacioningreso_id'),
		);
	}

	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels()
	{
		return array(
			'documentacioningresopersona_ingreso_periodoingreso_id' => 'Documentacioningresopersona Ingreso Periodoingreso',
			'documentacioningresopersona_ingreso_programaacademico_id' => 'Documentacioningresopersona Ingreso Programaacademico',
			'documentacioningresopersona_persona_tipodocumento_id' => 'Documentacioningresopersona Persona Tipodocumento',
			'documentacioningresopersona_persona_numerodocumento' => 'Documentacioningresopersona Persona Numerodocumento',
			'documentacioningresopersona_documentacioningreso_id' => 'Documentacion',
			'documentacioningresopersona_entrego' => t('Entrego','carrera_etiqueta'),
			'documentacioningresopersona_entrasmite' => t('En Trasmite','carrera_etiqueta'),
			'documentacioningresopersona_noautentificado' => t('No Autentificado','carrera_etiqueta'),
			'documentacioningresopersona_fechahabilitacion' => t('F. Habilitacion','carrera_etiqueta'),
			'documentacioningresopersona_observacion' => t('Observacion','nucleo_etiqueta'),
			'documentacioningresopersona_creado' => 'Documentacioningresopersona Creado',
			'documentacioningresopersona_creado_usuario_id' => 'Documentacioningresopersona Creado Usuario',
			'documentacioningresopersona_modificado' => 'Documentacioningresopersona Modificado',
			'documentacioningresopersona_modificado_usuario_id' => 'Documentacioningresopersona Modificado Usuario',
			'documentacioningresopersona_estado_id' => 'Documentacioningresopersona Estado',
		);
	}

	/**
	 * Retrieves a list of models based on the current search/filter conditions.
	 * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
	 */
	public function search()
	{
		// Warning: Please modify the following code to remove attributes that
		// should not be searched.

		$criteria=new CDbCriteria;

		$criteria->compare('documentacioningresopersona_ingreso_periodoingreso_id',$this->documentacioningresopersona_ingreso_periodoingreso_id,true);
		$criteria->compare('documentacioningresopersona_ingreso_programaacademico_id',$this->documentacioningresopersona_ingreso_programaacademico_id);
		$criteria->compare('documentacioningresopersona_persona_tipodocumento_id',$this->documentacioningresopersona_persona_tipodocumento_id);
		$criteria->compare('documentacioningresopersona_persona_numerodocumento',$this->documentacioningresopersona_persona_numerodocumento,true);
		$criteria->compare('documentacioningresopersona_documentacioningreso_id',$this->documentacioningresopersona_documentacioningreso_id,true);
		$criteria->compare('documentacioningresopersona_entrego',$this->documentacioningresopersona_entrego);
		$criteria->compare('documentacioningresopersona_entrasmite',$this->documentacioningresopersona_entrasmite);
		$criteria->compare('documentacioningresopersona_noautentificado',$this->documentacioningresopersona_noautentificado);
		$criteria->compare('documentacioningresopersona_fechahabilitacion',$this->documentacioningresopersona_fechahabilitacion,true);
		$criteria->compare('documentacioningresopersona_observacion',$this->documentacioningresopersona_observacion,true);
		$criteria->compare('documentacioningresopersona_creado',$this->documentacioningresopersona_creado,true);
		$criteria->compare('documentacioningresopersona_creado_usuario_id',$this->documentacioningresopersona_creado_usuario_id,true);
		$criteria->compare('documentacioningresopersona_modificado',$this->documentacioningresopersona_modificado,true);
		$criteria->compare('documentacioningresopersona_modificado_usuario_id',$this->documentacioningresopersona_modificado_usuario_id,true);
		$criteria->compare('documentacioningresopersona_estado_id',$this->documentacioningresopersona_estado_id);

		return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}
	
	public function afterFind()
	{
		parent::afterFind();
				
		$this->documentacioningresopersona_fechahabilitacion = ($this->documentacioningresopersona_fechahabilitacion != '0000-00-00' && !is_null($this->documentacioningresopersona_fechahabilitacion))?date('d-m-Y', strtotime(str_replace('-','/',$this->documentacioningresopersona_fechahabilitacion))):'';
		
		return TRUE;
	}
	
	public function beforeSave()
	{
		parent::beforeSave();
		$this->documentacioningresopersona_fechahabilitacion = ($this->documentacioningresopersona_fechahabilitacion != '0000-00-00' && !is_null($this->documentacioningresopersona_fechahabilitacion))?date('Y-m-d', strtotime($this->documentacioningresopersona_fechahabilitacion)):'';
		return TRUE;
	}
}